#ifndef __T_CONFIG__
#define __T_CONFIG__

#include "T_Config.h"
#include "T_BITMAP.h"

class T_DrawUtils{
public :
	T_DrawUtils();
//	T_DrawUtils(LPTSTR fileName,int _cols,int _rows);
	virtual ~T_DrawUtils();
public :
/*	bool loadImageFile(LPTSTR);
	void paintImage(HDC,int x,int y,float _ratio=-1,Reverse type=normal);
	void paintImage(HDC,int x,int y,int width,int height,BYTE alpha=255,Reverse type=normal);
	void paint(HDC destination,int x,int y,int fromX,int fromY,int regionWidth,int regionHeight,float ratio,Reverse rotate=normal,BYTE alpha=255);
	bool paintFrame(HDC hdc,Animation *animation,int x,int y,float ratio=1,Reverse type=normal);
	HBITMAP reverse(Reverse type=normal);
	void recyle();
//	*/
public :
	static Bitmap *getBitmap(HBITMAP);
	static void paintImage(HDC hdc,HBITMAP bmp,int x,int y,int width,int height,BYTE alpha=255);
	static void paintRegion(HDC destination,HBITMAP image,int x,int y,int fromX,int fromY,int regionWidth,int regionHeight,float ratio=1,BYTE alpha=255);
	static void clear(HBITMAP image,int width,int height,COLORREF color);
	static void clear(HDC destination,int x,int y,int width,int height,COLORREF color);
	static void clear(HDC destination,int x,int y,int width,int height,COLORREF color,int alpha);
	static HBITMAP createDIP(int width,int height,byte bitcount=24);
	static void verticalReverse(byte *array,long width,long height,byte byteCount);
	static void horizontalReverse(byte *array,long width,long height,byte byteCount);
	static byte *getBytesArray(HBITMAP BMP);
};

#endif